/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Samuel.Macrize.swing.Tree;

import javax.swing.tree.DefaultMutableTreeNode;

/**
 *
 * @author samuel
 */
public class CustomTreeModel {
    /**
     * 用循环的方式取得数据；
     * 
     * 第一张管理表： for 循环找出所有的根节点。
     * 
     * 接下来的表，配对根节点的名字，然后插入数据
     * 
     * 最终制作成 TreeModel
     */
    
    public DefaultMutableTreeNode rootTreeNode;                                 //根节点，不显示，只是调用使用！
    private DefaultMutableTreeNode tagNode;                                     //标签节点，根节点的子节点，下面有n个叶子节点
    private DefaultMutableTreeNode leafNode;                                    //叶子节点，没有子节点。
    
    /**
     * 
     * @param name 
     * 传入 节点名字
     */
    public void CreateNewNode(String name){
        tagNode = new DefaultMutableTreeNode(name);
        rootTreeNode.add(tagNode);
    }
    
    public void AddItemInTag(String name){
        leafNode = new DefaultMutableTreeNode(name);
        tagNode.add(leafNode);
    }
    
    
    /**
     * 构造函数，new 的时候创建一个根节点
     */
    public CustomTreeModel(){
        rootTreeNode = new DefaultMutableTreeNode();
    }
    
    
        
    /**
     * 创建一颗 名字叫做  **传入参数**的树数据模型
     * @param NodeNameString 
     */
    public void createNode(String NodeNameString){
        
    }
    
    /**
     * 将新节点数据插入父节点名字叫做fatherNodeName 的节点之下，自己命名为thisNodeName
     * @param fatherNodeName
     * @param thisNodeName 
     */
    public void addNode(String fatherNodeName,String thisNodeName)
    {
    }
    
    /**
     * 通过节点所在的位置获得节点字符串的名称
     * @return 
     */
    public String getNodeName(){
        String NodeName;
        NodeName = "";
        return NodeName;
    }
    
    /**
     * 输入字符串，在数组中找出与字符串相匹配的项
     * 
     * @param itemString
     * @return 
     */
    public int getArrayListLocation(String itemString){
        int i=0;
        return i;
    }
    
}
